<?php
/**
 * Map24MapTPMapService class file
 * 
 * @author    {author}
 * @copyright {copyright}
 * @package   {package}
 */

/**
 * RequestHeader.CustomerKeyValuePair class
 */
if ( !class_exists('RequestHeaderCustomerKeyValuePair') )
{
require_once 'RequestHeader.CustomerKeyValuePair.php5';
}
/**
 * ResponseHeader class
 */
if ( !class_exists('ResponseHeader') )
{
require_once 'ResponseHeader.php5';
}
/**
 * MapTPMapUploadResponse class
 */
if ( !class_exists('MapTPMapUploadResponse') )
{
require_once 'MapTPMapUploadResponse.php5';
}
/**
 * RequestHeader class
 */
if ( !class_exists('RequestHeader') )
{
require_once 'RequestHeader.php5';
}
/**
 * MapTPMapScale class
 */
if ( !class_exists('MapTPMapScale') )
{
require_once 'MapTPMapScale.php5';
}
/**
 * Coordinate class
 */
if ( !class_exists('Coordinate') )
{
require_once 'Coordinate.php5';
}
/**
 * Address class
 */
if ( !class_exists('Address') )
{
require_once 'Address.php5';
}
/**
 * CanvasReferencePoint class
 */
if ( !class_exists('CanvasReferencePoint') )
{
require_once 'CanvasReferencePoint.php5';
}
/**
 * MapObjectEventID class
 */
if ( !class_exists('MapObjectEventID') )
{
require_once 'MapObjectEventID.php5';
}
/**
 * MapObjectEventModifier class
 */
if ( !class_exists('MapObjectEventModifier') )
{
require_once 'MapObjectEventModifier.php5';
}
/**
 * Surf class
 */
if ( !class_exists('Surf') )
{
require_once 'Surf.php5';
}
/**
 * ComponentControl class
 */
if ( !class_exists('ComponentControl') )
{
require_once 'ComponentControl.php5';
}
/**
 * Property class
 */
if ( !class_exists('Property') )
{
require_once 'Property.php5';
}
/**
 * ControlComponent class
 */
if ( !class_exists('ControlComponent') )
{
require_once 'ControlComponent.php5';
}
/**
 * SetMapView.ClippingWidth class
 */
if ( !class_exists('SetMapViewClippingWidth') )
{
require_once 'SetMapView.ClippingWidth.php5';
}
/**
 * SetHomeView class
 */
if ( !class_exists('SetHomeView') )
{
require_once 'SetHomeView.php5';
}
/**
 * SetMapView class
 */
if ( !class_exists('SetMapView') )
{
require_once 'SetMapView.php5';
}
/**
 * ModifyMapView.Control class
 */
if ( !class_exists('ModifyMapViewControl') )
{
require_once 'ModifyMapView.Control.php5';
}
/**
 * ZoomRectangle class
 */
if ( !class_exists('ZoomRectangle') )
{
require_once 'ZoomRectangle.php5';
}
/**
 * ModifyMapView class
 */
if ( !class_exists('ModifyMapView') )
{
require_once 'ModifyMapView.php5';
}
/**
 * DeclareMap24LocationsLayer class
 */
if ( !class_exists('DeclareMap24LocationsLayer') )
{
require_once 'DeclareMap24LocationsLayer.php5';
}
/**
 * DeclareLayer class
 */
if ( !class_exists('DeclareLayer') )
{
require_once 'DeclareLayer.php5';
}
/**
 * RemoveLayer class
 */
if ( !class_exists('RemoveLayer') )
{
require_once 'RemoveLayer.php5';
}
/**
 * Control class
 */
if ( !class_exists('Control') )
{
require_once 'Control.php5';
}
/**
 * ControlLayer class
 */
if ( !class_exists('ControlLayer') )
{
require_once 'ControlLayer.php5';
}
/**
 * Color class
 */
if ( !class_exists('Color') )
{
require_once 'Color.php5';
}
/**
 * PaintRule.DrawPhase class
 */
if ( !class_exists('PaintRuleDrawPhase') )
{
require_once 'PaintRule.DrawPhase.php5';
}
/**
 * PaintRuleSTROKE.Details class
 */
if ( !class_exists('PaintRuleSTROKEDetails') )
{
require_once 'PaintRuleSTROKE.Details.php5';
}
/**
 * PaintRuleSTROKE class
 */
if ( !class_exists('PaintRuleSTROKE') )
{
require_once 'PaintRuleSTROKE.php5';
}
/**
 * MGenericProperty class
 */
if ( !class_exists('MGenericProperty') )
{
require_once 'MGenericProperty.php5';
}
/**
 * MapObjectCustomSettings class
 */
if ( !class_exists('MapObjectCustomSettings') )
{
require_once 'MapObjectCustomSettings.php5';
}
/**
 * Font class
 */
if ( !class_exists('Font') )
{
require_once 'Font.php5';
}
/**
 * MapObjectOrientation class
 */
if ( !class_exists('MapObjectOrientation') )
{
require_once 'MapObjectOrientation.php5';
}
/**
 * PaintRuleINSCRIPTION.Details class
 */
if ( !class_exists('PaintRuleINSCRIPTIONDetails') )
{
require_once 'PaintRuleINSCRIPTION.Details.php5';
}
/**
 * PaintRuleINSCRIPTION class
 */
if ( !class_exists('PaintRuleINSCRIPTION') )
{
require_once 'PaintRuleINSCRIPTION.php5';
}
/**
 * DeclareMap24RouteObject class
 */
if ( !class_exists('DeclareMap24RouteObject') )
{
require_once 'DeclareMap24RouteObject.php5';
}
/**
 * DeclareMap24TrafficInfoObject class
 */
if ( !class_exists('DeclareMap24TrafficInfoObject') )
{
require_once 'DeclareMap24TrafficInfoObject.php5';
}
/**
 * CoordinatesArray class
 */
if ( !class_exists('CoordinatesArray') )
{
require_once 'CoordinatesArray.php5';
}
/**
 * PaintRuleFILL.Details class
 */
if ( !class_exists('PaintRuleFILLDetails') )
{
require_once 'PaintRuleFILL.Details.php5';
}
/**
 * PaintRuleFILL class
 */
if ( !class_exists('PaintRuleFILL') )
{
require_once 'PaintRuleFILL.php5';
}
/**
 * DeclareMap24Polygon class
 */
if ( !class_exists('DeclareMap24Polygon') )
{
require_once 'DeclareMap24Polygon.php5';
}
/**
 * PaintRuleICONS.Details class
 */
if ( !class_exists('PaintRuleICONSDetails') )
{
require_once 'PaintRuleICONS.Details.php5';
}
/**
 * PaintRuleICONS class
 */
if ( !class_exists('PaintRuleICONS') )
{
require_once 'PaintRuleICONS.php5';
}
/**
 * DeclareMap24Polyline class
 */
if ( !class_exists('DeclareMap24Polyline') )
{
require_once 'DeclareMap24Polyline.php5';
}
/**
 * DeclareMap24Oval class
 */
if ( !class_exists('DeclareMap24Oval') )
{
require_once 'DeclareMap24Oval.php5';
}
/**
 * DeclareMap24Label.Anchor class
 */
if ( !class_exists('DeclareMap24LabelAnchor') )
{
require_once 'DeclareMap24Label.Anchor.php5';
}
/**
 * DeclareMap24Label class
 */
if ( !class_exists('DeclareMap24Label') )
{
require_once 'DeclareMap24Label.php5';
}
/**
 * DeclareMap24HTMLObject class
 */
if ( !class_exists('DeclareMap24HTMLObject') )
{
require_once 'DeclareMap24HTMLObject.php5';
}
/**
 * Bounds class
 */
if ( !class_exists('Bounds') )
{
require_once 'Bounds.php5';
}
/**
 * Map24LocationDrawHint class
 */
if ( !class_exists('Map24LocationDrawHint') )
{
require_once 'Map24LocationDrawHint.php5';
}
/**
 * Map24LocationPaintRule.LogoURLTable class
 */
if ( !class_exists('Map24LocationPaintRuleLogoURLTable') )
{
require_once 'Map24LocationPaintRule.LogoURLTable.php5';
}
/**
 * Map24LocationPaintRule.SymbolIDTable class
 */
if ( !class_exists('Map24LocationPaintRuleSymbolIDTable') )
{
require_once 'Map24LocationPaintRule.SymbolIDTable.php5';
}
/**
 * Map24LocationPaintRule class
 */
if ( !class_exists('Map24LocationPaintRule') )
{
require_once 'Map24LocationPaintRule.php5';
}
/**
 * DeclareMap24Location class
 */
if ( !class_exists('DeclareMap24Location') )
{
require_once 'DeclareMap24Location.php5';
}
/**
 * DeclareMap24Floorplan class
 */
if ( !class_exists('DeclareMap24Floorplan') )
{
require_once 'DeclareMap24Floorplan.php5';
}
/**
 * Anchor class
 */
if ( !class_exists('Anchor') )
{
require_once 'Anchor.php5';
}
/**
 * DeclareCanvasLocation class
 */
if ( !class_exists('DeclareCanvasLocation') )
{
require_once 'DeclareCanvasLocation.php5';
}
/**
 * DeclareCanvasLabel class
 */
if ( !class_exists('DeclareCanvasLabel') )
{
require_once 'DeclareCanvasLabel.php5';
}
/**
 * DeclareMap24SnailTrail class
 */
if ( !class_exists('DeclareMap24SnailTrail') )
{
require_once 'DeclareMap24SnailTrail.php5';
}
/**
 * DeclareMapObjectGroup class
 */
if ( !class_exists('DeclareMapObjectGroup') )
{
require_once 'DeclareMapObjectGroup.php5';
}
/**
 * RemoveMapObject class
 */
if ( !class_exists('RemoveMapObject') )
{
require_once 'RemoveMapObject.php5';
}
/**
 * ControlMapObject class
 */
if ( !class_exists('ControlMapObject') )
{
require_once 'ControlMapObject.php5';
}
/**
 * AssignMapObjectTemplate class
 */
if ( !class_exists('AssignMapObjectTemplate') )
{
require_once 'AssignMapObjectTemplate.php5';
}
/**
 * BasemapLayerPropertySet class
 */
if ( !class_exists('BasemapLayerPropertySet') )
{
require_once 'BasemapLayerPropertySet.php5';
}
/**
 * ControlBasemapLayerProperties class
 */
if ( !class_exists('ControlBasemapLayerProperties') )
{
require_once 'ControlBasemapLayerProperties.php5';
}
/**
 * XMLCommandWrapper class
 */
if ( !class_exists('XMLCommandWrapper') )
{
require_once 'XMLCommandWrapper.php5';
}
/**
 * MapObjectEvent class
 */
if ( !class_exists('MapObjectEvent') )
{
require_once 'MapObjectEvent.php5';
}
/**
 * MapTPMapLocation class
 */
if ( !class_exists('MapTPMapLocation') )
{
require_once 'MapTPMapLocation.php5';
}
/**
 * MapTPMapLocationLayer class
 */
if ( !class_exists('MapTPMapLocationLayer') )
{
require_once 'MapTPMapLocationLayer.php5';
}
/**
 * MapTPMapPolyline class
 */
if ( !class_exists('MapTPMapPolyline') )
{
require_once 'MapTPMapPolyline.php5';
}
/**
 * MapTPMapPolylineLayer class
 */
if ( !class_exists('MapTPMapPolylineLayer') )
{
require_once 'MapTPMapPolylineLayer.php5';
}
/**
 * MapTPMapPolygon class
 */
if ( !class_exists('MapTPMapPolygon') )
{
require_once 'MapTPMapPolygon.php5';
}
/**
 * MapTPMapPolygonLayer class
 */
if ( !class_exists('MapTPMapPolygonLayer') )
{
require_once 'MapTPMapPolygonLayer.php5';
}
/**
 * MapTPMapHTMLObject class
 */
if ( !class_exists('MapTPMapHTMLObject') )
{
require_once 'MapTPMapHTMLObject.php5';
}
/**
 * MapTPMapHTMLObjectLayer class
 */
if ( !class_exists('MapTPMapHTMLObjectLayer') )
{
require_once 'MapTPMapHTMLObjectLayer.php5';
}
/**
 * MapTPMapOval class
 */
if ( !class_exists('MapTPMapOval') )
{
require_once 'MapTPMapOval.php5';
}
/**
 * MapTPMapOvalLayer class
 */
if ( !class_exists('MapTPMapOvalLayer') )
{
require_once 'MapTPMapOvalLayer.php5';
}
/**
 * MapTPMapMultiPolygon class
 */
if ( !class_exists('MapTPMapMultiPolygon') )
{
require_once 'MapTPMapMultiPolygon.php5';
}
/**
 * MapTPMapMultiPolygonLayer class
 */
if ( !class_exists('MapTPMapMultiPolygonLayer') )
{
require_once 'MapTPMapMultiPolygonLayer.php5';
}
/**
 * MapTPMapUploadRequest class
 */
if ( !class_exists('MapTPMapUploadRequest') )
{
require_once 'MapTPMapUploadRequest.php5';
}
/**
 * MapTPMapUploadFromFileRequest class
 */
if ( !class_exists('MapTPMapUploadFromFileRequest') )
{
require_once 'MapTPMapUploadFromFileRequest.php5';
}
/**
 * MapTPMapUploadFromHTTPResourceRequest class
 */
if ( !class_exists('MapTPMapUploadFromHTTPResourceRequest') )
{
require_once 'MapTPMapUploadFromHTTPResourceRequest.php5';
}
/**
 * MapTPMapTemplateAssignement class
 */
if ( !class_exists('MapTPMapTemplateAssignement') )
{
require_once 'MapTPMapTemplateAssignement.php5';
}
/**
 * DeclareMapTPMapLayerTemplatesRequest class
 */
if ( !class_exists('DeclareMapTPMapLayerTemplatesRequest') )
{
require_once 'DeclareMapTPMapLayerTemplatesRequest.php5';
}
/**
 * DeclareMap24MapObject class
 */
if ( !class_exists('DeclareMap24MapObject') )
{
require_once 'DeclareMap24MapObject.php5';
}
/**
 * GetMapTPTemplatesResponse class
 */
if ( !class_exists('GetMapTPTemplatesResponse') )
{
require_once 'GetMapTPTemplatesResponse.php5';
}
/**
 * GetMapTPTemplatesRequest class
 */
if ( !class_exists('GetMapTPTemplatesRequest') )
{
require_once 'GetMapTPTemplatesRequest.php5';
}

/**
 * Map24MapTPMapService class
 * 
 *  
 * 
 * @author    {author}
 * @copyright {copyright}
 * @package   {package}
 */
class Map24MapTPMapService {

  private $client;

  private $wsdl = null;

  /**
   *
   * @param MapTP-System the request should be executed on $server
   * @param Map24Id $mid
   * @param Map24SessionId $sid
   */ 
  public function __construct($server=null, $mid=null, $sid=null, $interface='map24/webservices1.5') {
    if($server==null || $mid==null || $sid==null){
      echo "ERROR: Not enough or invalid arguments! Unable to initialise SoapClient.";
    }
    else {
      $this->wsdl = "http://".$server."/".$interface."?wsdl=Map24MapTPMapService";
      $this->client = new SoapClient($this->wsdl, array('location' => "http://".$server."/".$interface."?soap=Map24MapTPMapService&mid=".$mid."&sid=".$sid, 'trace' => 0, 'exceptions' => 1));
    }
  }

  /**
   *  
   *
   * @param RequestHeader $RequestHeader
   * @param MapTPMapUploadRequest $MapTPMapUploadRequest
   * @return MapTPMapUploadResponse
   */
  public function uploadMapTPMap(RequestHeader $RequestHeader, MapTPMapUploadRequest $MapTPMapUploadRequest) {
    return $this->client->uploadMapTPMap($RequestHeader, $MapTPMapUploadRequest);
  }

  /**
   *  
   *
   * @param RequestHeader $RequestHeader
   * @param MapTPMapUploadFromFileRequest $MapTPMapUploadFromFileRequest
   * @return MapTPMapUploadResponse
   */
  public function uploadMapTPMapFromFile(RequestHeader $RequestHeader, MapTPMapUploadFromFileRequest $MapTPMapUploadFromFileRequest) {
    return $this->client->uploadMapTPMapFromFile($RequestHeader, $MapTPMapUploadFromFileRequest);
  }

  /**
   *  
   *
   * @param RequestHeader $RequestHeader
   * @param MapTPMapUploadFromHTTPResourceRequest $MapTPMapUploadFromHTTPResourceRequest
   * @return MapTPMapUploadResponse
   */
  public function uploadMapTPMapFromHTTPResource(RequestHeader $RequestHeader, MapTPMapUploadFromHTTPResourceRequest $MapTPMapUploadFromHTTPResourceRequest) {
    return $this->client->uploadMapTPMapFromHTTPResource($RequestHeader, $MapTPMapUploadFromHTTPResourceRequest);
  }

  /**
   *  
   *
   * @param RequestHeader $RequestHeader
   * @param DeclareMapTPMapLayerTemplatesRequest $DeclareMapTPMapLayerTemplatesRequest
   * @return MapTPMapUploadResponse
   */
  public function declareMapTPMapLayerTemplates(RequestHeader $RequestHeader, DeclareMapTPMapLayerTemplatesRequest $DeclareMapTPMapLayerTemplatesRequest) {
    return $this->client->declareMapTPMapLayerTemplates($RequestHeader, $DeclareMapTPMapLayerTemplatesRequest);
  }

  /**
   *  
   *
   * @param RequestHeader $RequestHeader
   * @param GetMapTPTemplatesRequest $GetMapTPTemplatesRequest
   * @return GetMapTPTemplatesResponse
   */
  public function getMapTPTemplates(RequestHeader $RequestHeader, GetMapTPTemplatesRequest $GetMapTPTemplatesRequest) {
    return $this->client->getMapTPTemplates($RequestHeader, $GetMapTPTemplatesRequest);
  }

}

?>
